const num = 10;
for (let i = num; i; i--) {
  // 变量i是不安全的引用
  (function(): number {
    return i;
  })();
}

let i1 = 0;
while (i1 < num) {
  // 变量i是不安全的引用
  const a = function(): number {
    return i1;
  };
  a();

  i1++;
}

let i2 = 0;
do {
  // 变量i是不安全的引用
  function a(): number {
    return i2;
  }
  a();

  i2++;
} while (i2 < num);

for (var i = 0; i < l; i++) {
  (function () {
    i;
  });
}

for (var i = 0; i < l; i++) {
  for (var j = 0; j < m; j++) {
    (function () {
      i + j;
    });
  }
}

for (var i in {}) {
  (function () {
    i;
  });
}

for (var i of {}) {
  (function () {
    i;
  });
}

for (var i = 0; i < l; i++) {
  () => {
    i;
  };
}
